package com.bbm.communitysystem.core.generate;

import com.bbm.communitysystem.tools.DemoDate;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.ai.ollama.api.OllamaOptions;
import org.springframework.stereotype.Component;

/**
 * @author xieling
 * @version 1.0
 */
@Component
@RequiredArgsConstructor
@Slf4j
public class Model {

    private final OllamaChatModel ollamaChatModel;



    /**
     * 这个方法是意图大模型
     * */
    public  String generateIntent(String content) {

        String LEARN = "我的目前有 创建公告接口、创建文件接口、创建用户接口，请你帮我判断一下下文中" +
                "用户要使用的是这3个中的哪一个,不需要回答其他内容：\n";

        Prompt prompt = new Prompt(LEARN + content , OllamaOptions.builder()
                .model("deepseek-r1:8b").build());
        System.out.println("before" + DemoDate.getNow());
        ChatResponse call = ollamaChatModel.call(prompt);
        System.out.println("last" + DemoDate.getNow());


        String text = call.getResult().getOutput().getText();

        log.info("intent:{}",text);

        if (text.contains("创建公告接口")) {
            return "createAnnouncement";
        } else if (text.contains("创建文件接口")) {
            return "createFile";
        } else if (text.contains("创建用户接口")) {
            return "createUser";
        }

        return "null";
    }

    /**
     * 这个方法是实现大模型
     * */
    public String generateIMP(String content) {


        return "";
    }
}
